#ifndef LINE_DART_H_
#define LINE_DART_H_

#include <vector>
#include <list>
#include "vectorD.h"
#include "dart.h"

class LineDart : public Dart
{
public:
	LineDart();
	virtual ~LineDart();

	virtual void reset(unsigned int d);

	virtual void updateIntervals(const std::vector<VectorD>& points, DATA_TYPE radius);
	virtual bool pickPoint(VectorD& point);
protected:

	VectorD refPoint_;
	unsigned int dartDimensionIndex_;
	std::list<Interval> intervals_;
};

#endif